Arcadian, Volume 1, Issue 04

OCR'ed and cleaned up
by Richard C. Degler
on February 26, 2011
[note: _underscore_]


------------------------- [arcadian Vol. 1, Issue 04] -------------------------
Page 23 - [originally centered at the bottom.]

                            --arcadian---
[Volume I, Issue 4]                                          Feb 19. 1979

_CIRCUIT RIDING_ Bally personnel were travelling around the country lately,
visiting local dist[r]ibutors and dealers and showing off the PROGRAMMING
KEYBOARD (new name for the Add-On Keyboard).  They were in the west Coast area
the last week of January, and I had the opportunity to attend a San Francisco
presentation.  They used the same pre-programmed 'slide show' as was used at
Las Vegas, stored on a mini-floppy.  They used a Micropolis reader.  The Spec
Sheet I had in the last issue has been upgraded to show 16K RAM resident in the
Keyboard instead of the 4K.  Also, the RS232 connector size was corrected to
25 pins.  The official title of the basic machine is now VIDEO CONSOLE.
A photograph of the combined units is included in this issue.

_BALLY MANAGEMENT_ seems to be on the fence as to the timing for the production
of the Keyboard.  These meetings were to get dealer feedback, but it seems to
me that regardless of market size, the longer it takes for the unit to appear,
the less share will be realized by Bally.  The specs are impressive, but people
won't wait forever.

_NEW GAMES_ in the mill.  I saw prototypes of three new items which should be
in production soon, plus heard a description of two more.

2007 PINBALL ($25.) where a pinball machine table is laid out with action
                   bumpers and 4 flippers (2 controllers used).  The ball is
                   about 2 pixels square, and bounces around as determined
                   by the things it hits with various speeds.
2006 SPACE INVADERS ($20.) where three rows of 'martians' flit back and forth
                   in the air, dropping bombs on buildings on the surface.
                   Your rocket launcher tries to shoot them all down before
                   all your buildings are gone or they get you.
     DOGPATCH ($?) is a shoot-out between feuding families
4004 MUSIC I and II ($50.) will project a staff on the screen and you
                   can place notes (and sharps and flats) where you wish,
                   use the trigger to fix the position, and develop music.
4003 ASTROLOGY ($50) is being delayed as it seems to need more memory.
                   They want to be able to 'travel' hundreds of years back
                   and forth in time and show the heavens at those times.

_APOLOGY IS DUE_ to over 40 subscribers who are patiently waiting for the
literature mentioned last time.  The service manual and software description
have been backordered and will be sent to you as soon as possible.

_LITERATURE HUNGRY?_ John Sweeney reminded me that the Bally Basic is based on
Dr. Wang's Palo Alto Tiny Basic, and suggested the following sources of
documentation:
     Dr. Dobb's Journal of COMPUTER Calisthenics & Orthodontia had a number
of articles in their first year of publication. The bound volume is available
from People's Computer company, Box E, Menlo Park, CA 94025 @$13. plus $1.50
mail plus .78 Ca1 tax if required.
     FCC's REFERENCE BOOK of PERSONAL and HOME COMPUTING. at $5.95 plus .95
and .35 is available from the same source.  It contains the source and object
codes for the Tiny BASIC.
     I found both volumes at the Santa Clara BYTE Shop locally.  There is
some duplication between volumes, but there is so much other material in each
that it is worth having both.

_8K ROM_ in some consoles appears as a single chip of 8K, and as 4 chips of 2K
each in others.  If one was really clever and had a good understanding of
computer circuits, additional ROM could be inserted in the unused slots, but pc
board wiring would have to be changed as all 4 sockets are wired in parallel.

-------------------------------------------------------------------------------
Page 24 -

_DIVISION WITH DECIMALS_ is just in from Paul Law who says he modified a BYTE
2/79 program.  N indicates the length of the decimal portion.
   10 CLEAR                                   80 PRINT Q,".",
   20 PRINT " X [divide] Y = N"               90 X = (X-QxY)x10
   30 INPUT "INPUT X" X                      100 Q = X [div] Y
   40 INPUT "INPUT Y" Y                      110 P = Q + 48
   50 INPUT "INPUT N N                      120 TV = P
   60 CLEAR                                  130 N = N1
   70 Q = X [div] Y                          140 IF N > 0 GOTO 90

_PROGRAMS_ will be given more space in future issues - I think we've located
most of the 'secrets' in the Bally units and we will be seeing more
sophisticated games, etc.  I am now considering two levels of programs: Free
and Not Free.
     FREE: Unless otherwise indicated, I will assume that programs sent to me
are for the use of all subscribers, without compensation.
This is for two reasons -
1) is fairness as we have as subscribers a number of persons who are employed
as programmers, and they cannot sell their wares beyond their employers, and
2) is economics as I can't afford to pay for anything at these subscription
prices.
I will ask that all programs over a half page be sent on cassette, with a list-
ing enclosed.  That way I don't have to spend hobby time in loading a 3-4+ page
program and then figure out why it doesn't work.  I will duplicate the cassette
and return it.  If a program is short, I will put it in the ARCADIAN, and if
not, I'll add the subject to a list.  If you want a program, it'll be custom
tape and sent out at the cost of tape and postage.  If you just want a listing,
send a couple of stamps.  More next time as I get some experience in this area.
     NOT FREE: Some of you will develop programs that you will wish to
charge for, and I will provide space for a note to that effect.  I do not
wish to become involved in any transaction.  The first such item is from Mr.
J. Taillefer, 115 Northwestern Ave., Ottawa Ont. CAN, K1Y OM1  who has:
Enhanced versions of Lunar Lander, Gravity Game, and Player Piano, who asks
for a C-30 tape and $1.50 postage.  He also has new games, and will send
a list for $.25 (no stamps unless they are Canadian.)

$ sm,n,o or math routines will be expanded and explained in the next issue.

_CUSTOM CHIP DATA_ may be made available late this year.  While this is
proprietary data between Bally and their chip manufacturers, the data can
generally be obtained if you had the machinery/money to do it.  This means
that the competition can do it (from whom you want to hide it) but the average
user is stumped (the guy who could use it and is supporting you).  The sooner
the user can get such data the more effectively he can use the overall
capabilities.  The game cartridges are no secret as certain of our subscribers
are determining the object code listings as they are released.

_PRINT A QUOTATION?_ It is difficult to ask Tiny BASIC to put a quoted
statement in a program, such as SAY "HELLO", unless you know that items within
an apostrophic pair will print as a string, therefore 10 PRINT 'SAY"HELLO"'
will do it.

_ZGRASS ARTICLE_ that appeared in issue 2 came from "Computer Graphics a
Quarterly Report of SIGGRAPH-ACM, Vol 12 No 3, Aug 1978".  This translates to
the Special Interest Group - computer _GRAPH_ics - Association for Computing
Machinery.  1133 Avenue of the Americas, New York NY 10036.

_HACKERS MANUAL_ by Bally is in the works.  A more detailed volume to tell us
how to use the machine is actually being written.  I'll keep you informed as to
its printing, availability, etc.

_PRICES_ of the Video Console are now listed at $329. for the 4 handle unit
and $299 for the 2 handle job (now in a white container)

-------------------------------------------------------------------------------
Page 25 -

_CALL_ does not need parentheses around the called address.  Here are a couple
of unusual ones: CALL 4910 brings up CHECKMATE and plays 10 games in the zero
player mode.  CALL 5585 plays 87 games.  CALL 4920 does the same thing in other
machines, and gets GUNFIGHT with CALL 6938 on those machines, says Carl Meyer.

_FUTURE_ of the Keyboard has been questioned because of recent publicity in
some of the trade papers.  These are in error - it is the full-size pinball
machine that Bally expects to phase out of production.

_INTERESTING AREAS_ for people to work on, recently suggested by Stan Klein,
are:
    Scientific simulations (such as gravity in Lunar Lander)
    Video Display for psychology experiments.
    Also, some of our subscribers are teachers, and wonder if any programs
    are being developed with student applications.

_"GAME OVER"_ characters were mentioned in #3 as being available by the
command CALL(3164) [note: this address is simply a text string].  This command
locks up the keypad and you can't get out except by a RESET.  We now have a
more practical way to do it, leaving the keyboard fully operational so that you
can continue a game after the words show up.  The following program, developed
by Tom Wood, executes a special routine to pull out the 'preprinted' statement.
                   10 A=20180;B=A;C=80            _If_ your machine does not
                   20 X=-43; GOSUB C              print the whole phrase,
                   30 X=12341; GOSUB C            substitute 3159 in line 50.
                   40 X=19480; GOSUB C            This is indicative of at
                   50 X=3164; GOSUB C             least two [3] variations in
                   60 X=-13871 ; GOSUB C          Bally software in the field.
                   70 CALL(B); STOP               That is, the location of
                   80 %(A)=X;A=A+2;RETURN         certain object codes in
the 8K ROM of the Video Console are not identical in all machines.

  For those interested, the following is a listing of the routine:

20180 or Hex 4ED4:  D5      PUSH   DE      Save BASIC pointer
20181        4ED5:  FF      RST    38H     Call subroutine
20182        4ED6:  35      DB     53      SR no. 52, load regs.
20183        4ED7:  30      DB     48      Horizontal screen position
20184        4ED8:  18      DB     24      Vertical screen position
20185        4ED9:  4C      DB     1140    Color and size
20186,20187  4EDA:  5C 0C   DW     0C5CH   Adrs of message to display
20188        4EDC:  D1      POP    DE      Restore BASIC pointer
20189        4EDD:  C9      RET            Go back to BASIC

  The strange decimal numbers used in the BASIC statements arise due
to an idiosyncracy of 8080/Z80 Microprocessors and the way BALLY BASIC
handles integers.  BALLY BASIC uses l5 bit signed integers and stores
data into memory with the least significant 8 bits going into the lowest
numbered memory location.  With these two things in mind we can see that
machine-level routines must be POKEd into memory 2 bytes at a time, after
reversing the bytes and converting to decimal.  As an example, consider
the first two bytes of the above routine (D5 and FF).  The order of these
two bytes must be reversed, the two bytes considered as one signed integer
and converted to decimal.  Thus FFD5 becomes -43 decimal and shows up as
line 20 in the BASIC language routine.  Continuing [lines 30 to 60],

Hex 3035 = 12341
    4Cl8 = 19480
    0C5C = 3164
    C9D1 = 13871  (C = Binary 1100 which has the sign bit set)

-------------------------------------------------------------------------------
Page 26 -

MONITORING of external functions can be done with the Arcade - that is, it
will determine the status of on/off switches that are located away from the
machine.  This can be used in a practical sense to review a process (a rise
in liquid level, or elevation of temperature might close a switch) or status
(is a window open?).  This is accomplished by using the hand controller ports.
What we have to do is plug in our own RS232 connector that is attached to the
various switches, and fool the Arcade into thinking that our hardware is the
handcontroller.  Each controller has 5 switches, TR, JX=-1, JX=+1, JY=-1,
JY=+1; plus the knob potentiometer, KN.
     a. RS232 connector.  Fig 1 shows the identity of the nine pins of the
     connector.  No connection to pin 1.  The pins are marked on most plugs.
     The controller switches and knob are connected as shown in figures 2 & 3.
     b. Switches.  The program in the computer is a simple loop, asking if
     the contact is closed.  If so, it goes on to tell you something.
                   10 IF TR(1)=1 GOTO 30          Modify this for the other
                   20 GOTO 10                     four commands.
                   30 PRINT "SWITCH 1 IS ON"
     c. Knob.  Modify line 10 IF KN(1)= N GOTO 30.  The value of N will come
     later.  The circuit for a knob is shown in Fig. 3.  All of this should
     be duplicated for each switch desired.  The potentiometer will allow
     you to put a number of switches on the same line as as each would have a
     different pot. setting as shown later.  A total circuit could be that of
     Fig. 4.  Set pot A and close the switch.  Ask the machine to PRINT KN(1),
     and get a value, say -143.  This would be the value of N in the Line 10
     shown above.  By repeating this procedure for all the pots, you can see
     that as each switch is closed, it can be identified because it has a
     unique KN value.  Theoretically you could have 256 switches, but because
     of various uncertainties, there should be 10 digits between KN values.
     The Line 10 command should also accommodate this variability by becoming
     10 IF KN(1)>-148 IF KN(1)<-138 GOTO 30 ...

_CONTROL_ is the problem I now have - to get the machine to turn _on_ some
external device, such as a relay, etc...  I received one suggestion that is
unique: Have the screen dark, and have the receipt of a switch closure create
a small BOX at some location on the screen.  Put a photoelectric cell there,
glued on the screen, and connected to a relay circuit.  If you had enough of
these, the screen would be like a porcupine.

The above discussion was triggered by a question from Jim Unroe about security
systems, and wiring data was received from Stu Haight.  The cutaway drawings
were received from Dick Belton.

By building a little logic program, three or more switches can be cascaded and
connected to a simple calculator keyboard (surplus) and made into a push button
lock affair. Fig. 5

[Figures 1 through 3 not included here]

-------------------------------------------------------------------------------
Page 27 -

[Figures 4 and 5 not included here]         10 IF JX(1)=-1 GOT0 30
                                            20 GOTO 10
                                            30 IF JY(1)=-1 GOTO 50
                                            40  GOTO 30
                                            50 IF JX(1)=1 GOTO 70
                                            60 GOTO 50
                                            70 PRINT "COMBINATION WAS 8,4,6"

_TAPE SOURCES_ in this area are:
      MICROSETTE Co., 777 Palomar Ave, Sunnyvale CA 911086 who provide a C-10
(that is, 50 feet) at $7.50 per 10 postpaid.
      MJS MAGNETIC TAPE PRODUCTS 2514 Seaboard Ave., San Jose, CA 95131 will
precut tapes to any length from 1 minute to two hours, with a 25 tape minimum.
      STANFORD INTERNATIONAL  Box 609  San Carlos CA 94070 is one that I have
purchased audio-quality tape from, and have had good success.
     Write for catalogs from these, and if you have any other sources, pass
them along.

__CANADIAN SUBSCRIBERS, and others who can get _ELECTRONICS TODAY_, found
'BALLY ARCADE: Game or Computer' as the cover feature in the 11/78 issue.
A good 6-page in-depth review included photos of the insides of the TBASIC
cartridge, the motherboard of the Arcade, and the hand controller.

_MORE MEMORY?_ Yes, you can add more memory to the Console, but only by going
into the 50-pin connector and possibly the pc board.  This would not be a job
for the neophyte, and is beyond my capability to explain.  Power may be a thing
to consider.  However, if you have the knowhow, Bally says it could be done.

_DIRECT INTERCONNECTION_ between two machines is being worked on by Jim Unroe.
He has developed a program where one machine can talk to another via a pair
of cassette interfaces.  He has one program for each machine with interactive
operations.  I'll be reviewing these and hope to report on it next time.

-------------------------------------------------------------------------------
Page 28 -

Reprints of some recently published material.


Received four or five copies of the _Electronics_ article, thanks. -->

Bally computer uses plain language

Fearing that few people will actively want to program their home computers,
the makers of these machines are turning to simpler software packages.
But whereas many personal computers use some form of Basic, Bally Corp. is
coming out with a custom language that uses words instead of letter-number
combinations to make it seem friendlier.
  Introduced at this month's Consumer Electronics Show in Las Vegas, the
new language also has a more glamorous pedigree than most software, being an
offshoot of the language used to create special computer effects in the movie
"StarWars."  Called Grafix, the self-teaching, user-expandable language is to
be a major feature of Bally's Level III home computer when it hits the market
during the third quarter.  The firm previously introduced a Level I computer
that operates with read-only memory cartridges containing video games.
  Creative.  Basic's mnemonics and typical programming-like syntax, such as
HLIN for horizontal line and VLIN for vertical line, could confuse potential
users.  Instead, the Level III program allows users to create graphics by using
words like "circle" and "box," according to Robert Wiles, general manager of
the Franklin Park, Ill., company's Consumer Products division.
  When a user is uncertain how to specify a figure, its position, or its color,
he or she can type in "help," and the computer will begin a sequence of
directives that show the proper method.
  Users add new words to the Grafix vocabulary simply by programming graphics
subroutines and then naming them.  In this way, the language can be expanded
to the limits of available memory.  At present, the system contains 32
kilobytes of read-only memory and 20 kilobytes of random-access memory, and
provisions exist for adding memory accessories later, according to Wiles.
  Grafix was developed by a team of programming engineers led by Tom DeFanti,
professor of computer sciences at the University of Illinois, who created the
software for "Star Wars."  The language is loaded into Level III from a
software cassette.  Whereas Bally's Z80-based computer can interface to a
black-and-white television set or monitor, it is best to attach it to a color
set in order to make full use of its 256-color capability.
  A Level III computer is built by adding the special programming keyboard and
Grafix software to Bally's Level I video console.  The $300 video console is
available now, and the $650 keyboard and software cassettes will be ready
during the summer, Wiles says.                                             []

Electronics/January 18, 1979



Some corporate words to sales-oriented readers. -->
                                                                ADVERTISEMENT
We're serious about fun and games.  Consumer [section]

At Bally, we're in the business of helping people have fun.  Since we
introduced our first wooden pinball game in 1931, we've become the world's
leading producer of coin-operated amusement and gaming equipment.  And
along the way, we became the first US. manufacturer to use integrated
electronics in our complete line of pinball games.
  But Bally is helping people have fun in more ways than that.  For the
past few years, we've been entering new areas of growth and expansion.  As
an operator of 109 Aladdin's Castle arcade amusement centers.  As a major
manufacturer of home pinball machines and electronic TV games.  And as the
owner of a 9-acre tract at the intersection of Boardwalk and Park Place
in Atlantic City, where we'll build a luxury hotel-resort-casino.
  Of course, we're not only making fun for consumers.  We're also bringing
smiles to our stockholders.  In 10 years, we've grown from sales of $30
million to $245 million in 1977  up 18% over 1976.  Our 1977 earnings of
$19 million  up 59% over 1976 levels - set a new record.  Most importantly,
our return on average shareholders equity in 1977 was 21%... putting Bally
in the top tier in this regard among all major U.S. corporations.
  Our employees are happy, too.  We now provide jobs for some 5,000 people
at 19 plants and offices in the US. and overseas.
  Our changing product mix includes electronic components that we manu-
facture and supply for other makers of commercial and consumer products,
both in and outside the amusement industry.  And that makes both our
suppliers and our customers happy.
  Through our diversification, expansion and growth - and achievement of
record revenues and earnings - our management also has much to be pleased with.
  At Bally, it's fun being serious about fun and games.

Bally [script logo] Manufacturing Corporation
2640 West Belmont Avenue
Chicago. Illinois 60618

CHAIN STORE AGE. General Merchandise Edition, June 1978, pg. 17

-------------------------------------------------------------------------------
Page 29 - [no text]

[Bally COMPUTER SYSTEM  VIDEO CONSOLE AND PROGRAMMING KEYBOARD grayscale photo]

-------------------------------------------------------------------------------
Page 30 -

_MUNDANE ITEMS_ for the back page:
    * You will note a change in page numbering.  Since a subscription is to an
annual volume on a Nov to Oct basis, the page numbering should be consistent.
Issues 1 to 3 contained the first 22 pages for this volume.
    * The RS-232 connector mentioned last time turns out to be salvage Bally
connectors with cable.  Apparently scrapped because of improper wire color
coding, but certainly adequate for our experimental purposes.


Audio Tape Control
With the Bally BASIC audio cassette interface accessory you can store programs
on audio tape, play Bally software cassettes and exchange programs over the
phone.

[Cassette Tape Interface photo not included]
The following control words are used to store and play back programs.

:PRINT ;LIST records program from computer memory to audio tape
:INPUT plays back program from audio tape into computer memory
as listing shows on TV screen.
:RETURN turns off audio cassette interface after program has been loaded
into computer memory.
:LIST plays back program listing to TV screen only  not into memory.

For more information about the latest Bally BASIC software and accessories,
see your Bally dealer or write:
          Bally BASIC
          Bally Consumer Products DiViSion
          10750 West Grand Ave., Franklin Park, Ill. 60131


Keypad Inputs  ------->                      &(23)   &(22)   &(21)   &(20)
CHECK                                      +-------+---|-\___/-----+-------+
While running a program you can check      |  ___  |  _|_  |  ___  |  ___  |
to see if a key has been pressed on        | [___] | [_|_] | [___] | [___] |  1
the keypad.                                +-------+---|---+-------+-------+
EXAMPLE:                                   |  ___  |  _|_  |  ___  |  ___  |
  10 IF &(22)=4 PRINT 5                  | [_7_] | [_|_] | [_9_] | [___] |  2
  20 GOTO 10                               +-------+---|---+-------+-------+
                                           |  ___  |  _|_  |  ___  |  ___  |
WAIT                                       | [_4_] | [_5--------------------> 4
When you want your program to wait for     +-------+-------+-------+-------+
a key to be pressed use the KP command.    |  ___  |  ___  |  ___  |  ___  |
To see the numbers assigned to each key    | [_1_] | [_2_] | [_3_] | [___] |  8
use this program.                          +-------+-------+-------+-------+
  10 A=KP                                  |  ___  |  ___  |  ___  |  ___  |
  20 PRINT A                               | [___] | [_0_] | [___] | [___] | 16
  30 GOTO 10                               +-------+-------+-------+-------+
                                           |  ___  |  ___  |  ___  |  ___  |
                                           | [___] | [___] | [___] | [___] | 32
Music Synthesizer                          +-------+-------+-------+-------+
  Setting these registers to a
value between 0 and 255 allows you
to control the music synthesizer module.
For example: &(23)=255;&(21)=255 sounds like a rocket

        &(16) master oscillator           &(20) Vibrato
        &(17) oscillator A                &(21) Noise controlx16 + vol C
        &(18) oscillator B                &(22) Volume Bx16 + vol A
        &(19) oscillator C                &(23) Noise volume

_ _ _ _ _ _ _ _ _ _ _ _ _ _ [fold on the dotted line] _ _ _ _ _ _ _ _ _ _ _ _ _

ARCADIAN                                          [Place US postage stamp here]

Robert Fabris, Staff
3626 Morrie Dr.
San Jose. CA 95127

          ===========
          First Class             To: [Address label goes here]
          ===========
------------------------------ [end of Issue 04] ------------------------------
